import DD.Human;
import DD.Student;

import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.Method;
import java.util.Properties;

public class Refelecttest {
    public static void main(String[] args) throws Exception {
//        Human human =new Human();
//        human.eat();
        //
        Properties pro= new Properties();
        //获取这个Refelecttest的类装载器,通过这个类装载器 就可以去调用这个getResourceAsStream去找到某个文件
        ClassLoader classLoader = Refelecttest.class.getClassLoader();
        InputStream is=classLoader.getResourceAsStream("pro.properties");
        //通过用inputstream读取到的数据去加载数据
        pro.load(is);
        //pro.getProperty是获得某个变量的值
        //例如pro.getProperty("className")就是获得className的值
        String className= pro.getProperty("className");
        String methodName= pro.getProperty("methodName");
        //创建一个class对象
        Class cls = Class.forName(className);
        //创建一个新的Object对象
        Object o = cls.newInstance();
        //获取Properties文件里method的方法
        Method method= cls.getMethod(methodName);
        //给这个method方法设置值
        method.invoke(o);

    }
}
